This application claims the priority of 102 19 700.8, filed May 2, 2002, the disclosure of which is expressly incorporated by reference herein.
The present invention relates to a method for providing and transmitting data in a data transmission system by transmitting several data blocks from a data-transmitting device to terminals, wherein an interleaving process of at least two data blocks takes place before transmission of the data to the terminals.
State of the art methods for interleaving data include U.S. Pat. No. 5,557,608 A which describes a method for transmitting higher-priority, e.g. real time data traffic via lower-priority, e.g. non real time data connections by inserting corresponding data blocks. Japanese Patent JP 8-214028 A describes an interleaving method in blocks where, for error monitoring encoding, a data packet, that is divided as an n-fold matrix packet, is divided into small blocks and where correction codes are inserted. Subsequently interleaving is applied to the blocks. U.S. Pat. No. 6,337,642 B1 provides a method for interleaving variable packet lengths, wherein an optimal block size is determined as a function of a pre-selected packet length and interleaver width.
It is the object of the present invention to optimize an interleaving process, taking into consideration that data blocks of different relevance levels can exist. The invention can basically be applied to all types of data transmission systems, in particular for communication systems, especially wireless communication systems.
A method according to the present invention provides and transmits data in a data transmission system by transmitting several data blocks from a data transmitting device to terminals, wherein, before transmission of the data to the terminals, at least two data blocks are interleaved.
Interleaving here should generally be interpreted as any kind of dividing and regrouping of the data of the individual data blocks, wherein data of different data blocks are combined to form a new data packet. The advantage of interleaving is the ability to distribute data of a data block among several data packets so that the individual pieces of data of the data block can be separated during data transmission. If a data packet is transmitted incorrectly during the data transmission process, not all data of a data block are lost, but only a portion of the data block. The lost portion can possibly be reconstructed from the remaining data of the data block, which was transmitted in other data packets.
According to the invention, either one or several or all data transmitting devices of the data transmission system can perform the described process and can be designed accordingly.
The scope of data, for which an interleaving process is conducted, can be defined by the data content of a data frame, which is ultimately transmitted to the terminals. Generally such a data frame as a rule is at least defined by headers and informative data, wherein the headers contain at least identification data for the identification of the data frame. The scope of the data, for which an interleaving process is conducted, however can also be established by a predetermined transmission period for one of the data blocks. A typical transmission period in satellite data transmission systems for data blocks containing informative data is, for example, one second.
For the purpose of interleaving, a transmission time can be established especially for each data unit of the data block with the help of an algorithm, wherein the sequence of the transmission times deviates from the original sequence of data units within the data blocks. Thus, transmission of the individual data units of the data block is effected, in which the sequence of the data units no longer corresponds to the original sequence of the data units in the data blocks. The meaning of the data units is defined in the following.
The present invention considers, in particular, the case where, during the same time in which a non-time critical data block is supposed to be transmitted, k time critical data blocks are also to be transmitted, with k=2, 3, 4 . . . . Then the algorithm can be such that for transmission of the k time critical data blocks with k=2, 3, 4, . . . and the one non-time critical data block, the transmission times of the data units of each time critical data block can be established at a fraction 1/k of the transmission period of the non-time critical data block. If for example a transmission period of one second is provided for a non-time critical data block and if during the same time 2 time critical data blocks are supposed to be sent, then the algorithm is designed such that the first time critical message is transmitted in the first half of the transmission period, i.e. in the first ½ second, and the second time critical message is transmitted in the second half of the transmission period, i.e. in the second ½ second. The meaning of time critical and non-time critical data blocks will be defined in the following.
One advantage of this development is that the time critical data blocks can be received already completely in a fraction 1/k of the transmission period of the non-time critical data block and be processed in the terminal. Additionally, faster sending of the time critical data blocks can take place since, after availability of the first time critical data block, the transmission of the data can begin because the second time critical data block need not be available until the second fraction 1/k of the transmission period. The same applies for additional time critical data blocks.
For performing the interleaving process, the data blocks can be divided in equal packets with indexed data addresses. Interleaving can then occur through the successive transmission of one data unit of a packet, respectively. For example, after dividing the data of the data blocks in the packets, any random first data unit of the first packet is transmitted, then a random first data unit of the second packet, then a random first data unit of the third packet, etc., until the last packet is transmitted. Then a second data unit of the first packet is sent, followed by a second data unit of the second packet, etc. until the last packet. This method continues down to the last data unit of each packet.
The above-described example proceeds on the assumption of a random sequence of transmission of the data units per packet. However, it is also possible to transmit the data units per packet in accordance with the indexing of the data addresses of the packet. It can be provided, for example, that initially the data units of all packets with the lowest or highest data address are transmitted successively and then successively the data units of all packets with the next higher or next lower data address. When the packets are depicted in the form of columns next to each other so that the total of the packets forms a matrix, then this type of transmission corresponds to a row-by-row transmission of the data units of the packets.
Indexed data addresses are herein defined such that corresponding data addresses of the individual data packets can be recognized by the data transmission system via the addresses, i.e. that especially the beginning and end of the data packets can be determined and that a sequence of the data within the data packets is defined. The type of indexing and addressing can basically be selected freely in a suitable fashion.
A further development of the invention provides that at least a first group of packets is reserved for data blocks with time critical data and at least one second group of packets is reserved for data blocks with non-time critical data. Thus, not all types of data are divided equally among data packets, but instead a differentiation is made based on the significance of the data, specifically from a time critical aspect. This enables different treatments for time critical and non-time critical data in the framework of the interleaving process, which offers benefits for further processing, as is described in more detail in the following. Time critical data should be interpreted as such data, which for a safe operation or for certain applications in the terminals must be transmitted as promptly as possible to the terminals. Typical time frames are here less than one second. Non-time critical data by contrast are data, which the terminal requires for its operation or for certain applications, however, they can arrive at the terminal with a certain delay without substantially disrupting the operation of the terminal. The ratio of the number of packets that are reserved for time critical data to those for non-time critical data is preferably determined by the ratio of the data amount of time critical data to non-time critical data. When the amount of data of time critical data represents a quarter or half of the amount of non-time critical data, a quarter or half of the packets is reserved for time critical data and the remainder for non-time critical data.
In particular it can be provided that status messages or headers are transmitted as time critical data and informative data as non-time critical data, wherein the informative data are used directly for the user operation of the terminals. As status information, for example, identification data of system components or version data of certain software as well as other types of status information can be transmitted, and as headers all signaling types can be transmitted, which are required or helpful for controlling the data exchange between the data transmitting device and terminal.
In one method of the interleaving process for time critical and non-time critical data it is provided that                all packets have a length of n data units,        packets of the first group of packets are filled with n/k, k=2, 3, 4, 5 . . . data units of a data block of time critical data,        packets of the second group of packets are filled with n data units of a data block of non-time critical data.        
All data packets thus have the same length. A bit, a byte or any other defined data symbol with a defined symbol length can be provided as a data unit. The packets of the second group are simply filled completely with the non-time critical data of the corresponding data block. When the end of a data block with non-time critical data has been reached, then the filling of the packets, which are reserved for non-time critical data, is continued with the next data block of non-time critical data.
Time critical data, however, are treated differently: The packets that are reserved for time critical data are filled with the data of time critical data blocks not up to the full length n, but instead only n/k data units of a packet are filled with data of a certain data block, in the simplest case only the first half of the packet. The data content of the data block with time critical data is thus distributed among the first half of several packets, respectively. This offers a particular advantage: Due to the interleaving process, the data contents of the packets are transmitted in such a way that initially all data units at the beginning of the packet are transmitted successively. After that, successively all data units in the second place of the packets are transmitted. This continues until the end of the packets has been reached. One can easily recognize that a data block, which has been divided among the first half of several packets, respectively, has already been transmitted completely after half the time that is required for transmitting all data of all packets. The same applies for the general case of n/k data units with k=2, 3, 4 . . . . With this method time critical data can be transmitted completely very quickly and still can undergo an interleaving process. The integer k can basically be defined freely. However, it preferably corresponds to the number of data blocks of time critical data that have to be transmitted in a certain period of time.
In a preferred design, the amount of time critical data represents a maximum of half, ideally a maximum of a quarter of the amount of non-time critical data. This ensures the effectiveness of the method.
The data transmitting devices of the data transmission system include devices for providing data in the form of several data blocks and on the other hand devices for transmitting data to terminals, wherein each data transmitting device pursuant to the present invention contains a device for interleaving at least two data blocks pursuant to the method of the present invention before transmitting the data to the terminals. The interleaving device can be developed in particular in such a way that it is suited for conducting individual steps or all steps of an interleaving process, as described above. The interleaving device is then suitably adjusted to the corresponding steps of the interleaving method.
Another object of the present invention is to provide a user terminal for a data transmission system. Pursuant to the invention, the user terminal includes a device for reconstructing data blocks, which were received by the user terminal on a receiving device of at least one data-transmitting device and which, before being received were subjected to an interleaving process pursuant to an above-described method. The corresponding device of the user terminal is thus designed in such a way that it recognizes the data in the above-described form and uses them to reconstruct the original data blocks through a de-interleaving method complementing the interleaving process.
A further development of the present user terminal includes a computer program for processing data of a data transmission system, which have been subjected to an above-described interleaving method, wherein the computer program is designed to act together with devices of the above-described user terminal. The computer program recognizes and processes the data in the above-described form and is able to reconstruct the original data blocks through a de-interleaving method complementing the interleaving process.
A further development of the present user terminal comprises a computer program product, containing a machine-readable program carrier, which stores an above-mentioned computer program in the form of electronically readable control signals, wherein the computer program product is designed to act together with a user terminal. The control signals can be stored in any suitable form; the electronic reading process can then occur accordingly through electric, magnetic, electro-magnetic, electro-optical or other electronic methods. Examples of such program carriers are magnetic disks, diskettes, hard drives, CD-ROM or semi-conductor blocks.
Other objects, advantages and novel features of the present invention will become apparent from the following detailed description of the invention when considered in conjunction with the accompanying drawings.